<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .wrap {
        width: 600px;
        height: 500px;
        background-color: #ccc;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
        align-content: space-evenly;
      }
      .item {
        width: 100px;
        height: 100px;
        background-color: orange;
        /* 圆角 */
        border-radius: 50%;
        font-size: 40px;
        text-align: center;
        line-height: 100px;
      }
    </style>
  </head>
  <body>
    <div class="wrap">
      <div class="item">1</div>
      <div class="item">2</div>
      <div class="item">3</div>
      <div class="item">4</div>
      <div class="item">5</div>
      <div class="item">6</div>
      <div class="item">7</div>
      <div class="item">8</div>
    </div>
  </body>
</html>

<!-- 
  弹性盒:
    是css3新增的一种区别于传统的布局方案的一种新的布局方案
    尤其是手机端

  flex:
    控制子元素在父元素里面的位置关系
    但是只能控制里面的第一层
  
  给父元素加的属性:
    1. display: flex / inline-flex
      将父元素变成弹性盒
      inline-flex是将父元素转成行内的弹性盒(不会独占一行)

    2. flex-direction: 主轴的排列方向
      row: 横向排列(从左往右)   默认值
      row-reverse: 反向的横向排列(从右往左)
      column: 纵向排列(从上往下)
      column-reverse: 反向的纵向排列(从下往上)

    3. justify-content: 主轴的排列方式
      flex-start: 从主轴的起点开始排列  默认值
      center: 在主轴居中显示
      flex-end: 从主轴的终点开始排列
      space-around: 会平均分配主轴的剩余空间，最两边的间距会小一点
      space-between: 会平均分配主轴的剩余空间，最两边是没有的
      space-evenly: 会平均分配主轴的剩余空间,最两边的间距和中间的一样

    4. align-items: 交叉轴的排列方式(也叫侧轴，和主轴垂直的轴)
      flex-start: 从交叉轴的起点开始排列  默认值
      center: 在交叉轴居中显示
      flex-end: 从交叉轴的终点开始排列

    5. flex-wrap: 控制子元素是否换行
      no-wrap: 不换行  默认值
      wrap: 换行
      wrap-reverse: 反向换行(改变了交叉轴的方向)

    6. align-content: 行与行的排列方式
      flex-start: 从交叉轴轴的起点开始排列  默认值
      center: 在交叉轴轴居中显示
      flex-end: 从交叉轴轴的终点开始排列
      space-around: 会平均分配交叉轴轴的剩余空间，最两边的间距会小一点
      space-between: 会平均分配交叉轴轴的剩余空间，最两边是没有的
      space-evenly: 会平均分配交叉轴轴的剩余空间,最两边的间距和中间的一样
 -->
